import request from '@/utils/request'
import qs from 'qs'
import cookies from 'vue-cookies'

/**
 * 请求个人头像
 */
export function getUserAvatar() {
  return request({
    url: '/user/avatar',
    method: 'get'
  })
}

/**
 * 请求个人信息
 */
export function getUserInfo() {
  return request({
    url: '/user/information',
    method: 'get'
  })
}

/**
 * 上传个人头像
 * @param avatar
 */
export function uploadAvatar(avatar) {
  return request({
    url: '/user/avatar',
    method: 'put',
    data: {avatar}
  })
}

/**
 * 更新个人信息
 * @param userInfo
 */
export function updateUserInfo(userInfo) {
  return request({
    url: '/user/information',
    method: 'put',
    data: {...userInfo}
  })
}

/**
 * 解除邮箱绑定
 * @param data
 */
export function unbindEmail(data) {
  return request({
    url: '/user/email/unbind',
    method: 'post',
    data: JSON.stringify(data)
  })
}

/**
 * 改绑定邮箱
 * @param data
 */
export function bindEmail(data) {
  return request({
    url: '/user/email/bind?bind_token=' + cookies.get('bind_token'),
    method: 'post',
    data: JSON.stringify(data)
  })
}

/**
 * 发送邮箱验证码
 * @param email
 */
export function sendEmail(email) {
  return request({
    url: '/user/email/code?email=' + email,
    method: 'get'
  })
}

/**
 * 修改密码
 * @param data
 */
export function updatePassword(data) {
  return request({
    url: '/user/pwd',
    method: 'put',
    data: JSON.stringify(data)
  })
}

/**/

/**
 * 获取用户列表
 */
export function getUserList(data) {
  let params = {
    page: data.page,
    key: data.key,
    deptid: data.deptId,
    state: data.state
  }
  return request({
    url: '/user/list?' + qs.stringify(params),
    method: 'get'
  })
}

/**
 * 获取指定用户
 * @param id
 */
export function getUserById(id) {
  return request({
    url: '/user/' + id,
    method: 'get'
  })
}

/**
 * 添加用户
 * @param user
 */
export function insertUser(user) {
  return request({
    url: '/user',
    method: 'post',
    data: JSON.stringify(user)
  })
}

/**
 * 更新用户
 * @param user
 */
export function updateUser(user) {
  console.log(user)
  return request({
    url: '/user',
    method: 'put',
    data: JSON.stringify(user)
  })
}

/**
 * 删除用户
 * @param id
 */
export function deleteUserById(id) {
  return request({
    url: '/user/' + id,
    method: 'delete'
  })
}

